home *** CD-ROM | disk | FTP | other *** search
/ Practical Internet Web Designer 86 / PIWD86.iso / pc / contents / dreamweaver / software / dwmx2004.exe / Disk1 / data1.cab / Configuration_En / Commands / Flash Text.js < prev    next >
Encoding:
JavaScript  |  2003-09-05  |  20.0 KB  |  588 lines

  1. // Copyright 2000, 2001, 2002, 2003 Macromedia, Inc. All rights reserved.
  2. //*************** GLOBAL CONSTANTS *****************
  3. var helpDoc = MM.HELP_objFlashText;
  4. var TYPE_STR = "Flash Text";
  5. var FILE_CONFIG_PATH = dw.getConfigurationPath();
  6. var FILE_TEXT_TEMPLATE_PATH = FILE_CONFIG_PATH + "/Flash Objects/Flash Text/text template.swt";
  7. var STYLE_EXT_STR = "swt";
  8. var TYPE_PARAMETER = "dwType";
  9. var YIELD_PATH = "../Shared/MM/Images/yield.gif";
  10. var DEFAULT_SIZE = 30;
  11. var MAX_FILE_LENGTH = 23;
  12. //*************** GLOBAL VARIABLES *****************
  13. // UI Elements
  14. var MENU_FONTS, MENU_TARGET;
  15. var TEXT_SIZE, TEXT_URL, TEXT_SAVE_AS;
  16. var TEXTAREA_TEXT;
  17. var CHECKBOX_FONT, CHECKBOX_SIZE;
  18. var TEXT_TEXT_COLOR, TEXT_ROLLOVER_COLOR, TEXT_BG_COLOR;
  19. var COLORP_TEXT, COLORP_ROLLOVER, COLORP_BG;
  20. var IBTN_boldBtn, IBTN_italicBtn;
  21. var IBTN_rightAlignBtn, IBTN_leftAlignBtn, IBTN_centerAlignBtn, IBTN_justifyAlignBtn;
  22. var IBTN_GROUP_ALIGN;
  23. var AREA_WARNING;
  24. // other globals
  25. var ARRAY_TARGET_STR = new Array("","_blank","_parent","_self","_top");
  26. var REEDIT_SWF_PATH;
  27. var URL_BROWSE;
  28. var ALIGN_MAP = new Array();
  29. var ALIGNMENT = new Array("left","right","center","justified");
  30. var ALIGNMENT_BTNS = new Array("leftAlignBtn","rightAlignBtn","centerAlignBtn","justifyAlignBtn");
  31. var FLAG_OVERWRITE = new Object();
  32. FLAG_OVERWRITE.state = false;
  33. FLAG_OVERWRITE.reEdit = false;
  34. var FILE_CURRENT_DOC_PATH;
  35. var WIDTH_PERCENT;
  36. var HEIGHT_PERCENT;
  37. var LAST_SIZE=DEFAULT_SIZE;
  38. //******************* API **********************
  39.  
  40. function commandButtons()
  41. {
  42.    return new Array( MM.BTN_OK,  "cmdOK(); "
  43.            , MM.BTN_Apply, "cmdApply();"
  44.                    , MM.BTN_Cancel, "cmdCancel();"
  45.                    , MM.BTN_Help, 'displayHelp()');
  46. }
  47.  
  48. function cmdOK()
  49. {
  50.   var done = insertTextHTML();
  51.   if (done)
  52.     window.close();
  53.  
  54.   // check to see if accessibility option for media objects is turned on
  55.   prefsAccessibilityOption = dw.getPreferenceString("Accessibility", "Accessibility Media Options", "");
  56.   if(prefsAccessibilityOption == 'TRUE') {
  57.     var objDOM = dreamweaver.getDocumentDOM();
  58.     addAccessibility(objDOM);
  59.   }
  60. }
  61.  
  62. function cmdApply()
  63. {
  64.  var filename = document.saveAsField.getAttribute("value");
  65.  insertTextHTML();
  66.  FLAG_OVERWRITE.state = true;
  67.  FLAG_OVERWRITE.file = addExtention(filename, "swf");
  68. //  var dom = dw.getDocumentDOM();
  69. //  dom.insertHTML("test apply", true);
  70. }
  71.  
  72. function cmdCancel()
  73. {
  74.   window.close();
  75. }
  76.  
  77. function receiveArguments(swfPath)
  78. {
  79.   var fileName, fileObj;
  80.   var dom = dw.getDocumentDOM('document');
  81.   var sizeArray = SWFFile.getNaturalSize(swfPath);
  82.   var widthHTML = getSelectedNodeAttr("WIDTH",dom);
  83.   var heightHTML = getSelectedNodeAttr("HEIGHT",dom);
  84.   FILE_CURRENT_DOC_PATH = dw.getDocumentPath("document");
  85.   if (swfPath)
  86.   {
  87.     REEDIT_SWF_PATH = swfPath;
  88. //    fileObj = new File(REEDIT_SWF_PATH);
  89. //  fileName = fileObj.getName();
  90.     FLAG_OVERWRITE.state = true;
  91.   FLAG_OVERWRITE.reEdit = true;
  92. //    FLAG_OVERWRITE.file = fileName;
  93.   FLAG_OVERWRITE.file = absoluteToRelativeURL(swfPath, FILE_CURRENT_DOC_PATH,false);
  94.   WIDTH_PERCENT = widthHTML/sizeArray[0];
  95.     HEIGHT_PERCENT = heightHTML/sizeArray[1];
  96.   }
  97. }
  98. //***************** LOCAL FUNCTIONS  ******************
  99.  
  100. function initializeUI()
  101. {
  102.   var fontArray, targetArray, docFramesArray, swfButtonParams;
  103.   FILE_CURRENT_DOC_PATH = dw.getDocumentPath("document");
  104.   MENU_FONTS = new ListControl("fontMenu");
  105.   MENU_TARGET = new ListControl("targetMenu");
  106.   fontArray = filterFonts(dw.getSystemFontList("TrueType"));
  107.   if (!fontArray)
  108.   {
  109.     alert(MSG_NoFontsInstalled);
  110.   window.close();
  111.   return "";
  112.   }
  113.   else {
  114.     MENU_FONTS.setAll(fontArray,fontArray);
  115.     // set the default to relavant font for Double-byte languages
  116.     if ( dreamweaver.appVersion && ( dreamweaver.appVersion.indexOf('ja') != -1 || 
  117.                      dreamweaver.appVersion.indexOf('ko') != -1 || 
  118.                      dreamweaver.appVersion.indexOf('zh') != -1) ) {  
  119.         if ( "macos" == DWfile.getPlatform() )
  120.             MENU_FONTS.pickValue(LABEL_DefaultSystemFontMac);
  121.         else
  122.             MENU_FONTS.pickValue(LABEL_DefaultSystemFontWin);
  123.     }
  124.   }
  125.   docFramesArray = dw.getDocumentDOM().getFrameNames();
  126.   targetArray = ARRAY_TARGET_STR;
  127.   if (docFramesArray)
  128.     targetArray = targetArray.concat(docFramesArray);
  129.   MENU_TARGET.setAll(targetArray, targetArray);
  130.   TEXT_SIZE = document.theForm.sizeField;
  131.   TEXTAREA_TEXT = document.theForm.textInputField;
  132.   TEXT_URL = document.theForm.linkField;
  133.   TEXT_SAVE_AS = document.theForm.saveAsField;
  134.   TEXT_TEXT_COLOR = document.theForm.textColorField;
  135.   TEXT_ROLLOVER_COLOR = document.theForm.rolloverColorField;
  136.   TEXT_BG_COLOR = document.theForm.bgColorField;
  137.   COLORP_TEXT = document.theForm.textColorP;
  138.   COLORP_ROLLOVER = document.theForm.rolloverColorP;
  139.   COLORP_BG = document.theForm.bgColorP;
  140.   CHECKBOX_FONT = document.theForm.fontCheckBox;
  141.   CHECKBOX_SIZE = document.theForm.sizeCheckBox;
  142.   IBTN_boldBtn = new ImageButton("boldBtn","IBTN_boldBtn","sSd");
  143.   IBTN_italicBtn = new ImageButton("italicBtn","IBTN_italicBtn","sSd");
  144.   IBTN_rightAlignBtn = new ImageButton("rightAlignBtn");
  145.   IBTN_leftAlignBtn = new ImageButton("leftAlignBtn");
  146.   IBTN_centerAlignBtn = new ImageButton("centerAlignBtn");
  147.   IBTN_GROUP_ALIGN = new ImageButtonGroup(IBTN_rightAlignBtn, IBTN_leftAlignBtn, IBTN_centerAlignBtn);
  148.   IBTN_GROUP_ALIGN.select('leftAlignBtn');
  149.  
  150.   for (var i=0; i< ALIGNMENT_BTNS.length; i++)
  151.     ALIGN_MAP[ALIGNMENT_BTNS[i]] = ALIGNMENT[i];
  152.   AREA_WARNING = document.theForm.warningMessage;
  153.   if (REEDIT_SWF_PATH)
  154.   {
  155. //  REEDIT_SWF_PATH =File.getFullUrl(REEDIT_SWF_PATH, FILE_CURRENT_DOC_PATH);  // modify text does not pass in full path
  156.     swfButtonParams = SWFFile.readFile(REEDIT_SWF_PATH);
  157.     swfButtonParams.unshift("templatePath");
  158. //    if (navigator.platform != "Win32")
  159.     if (!hasDoubleByteChar(swfButtonParams[1]))
  160.       swfButtonParams[1] = unescape(swfButtonParams[1]);
  161.     if (swfButtonParams.length % 2 != 0) // if last parameter has no value array is odd
  162.       swfButtonParams.push("");
  163.     populateUI(swfButtonParams,absoluteToRelativeURL(REEDIT_SWF_PATH, FILE_CURRENT_DOC_PATH,true));
  164.   }
  165.   else
  166.   {
  167.     updateUI("fontMenu");
  168.     TEXT_SAVE_AS.value = createUniqueFilename("text", getDocumentDir(FILE_CURRENT_DOC_PATH),MAX_FILE_LENGTH);
  169.   }
  170.   TEXTAREA_TEXT.focus();
  171.   TEXTAREA_TEXT.select();
  172.   return "";
  173. }
  174.  
  175. function updateUI(itemName)
  176. {
  177.   var styleAttribute, replacementStr,browseURL, pattern, theLink, fontStyles,theFont;
  178.   switch(itemName)
  179.   {
  180.     case "fontMenu":
  181.   {
  182.     if (CHECKBOX_FONT.checked == true)
  183.     {
  184.       theFont = MENU_FONTS.get();
  185.       replacementStr = "font-family:" + theFont + ";";
  186.       pattern = /font-family:.*;/ ;
  187.       updateStyle(TEXTAREA_TEXT,pattern, replacementStr);
  188.       (!hasDoubleByteChar(theFont)) ? IBTN_boldBtn.enable() : IBTN_boldBtn.disable();
  189. //      fontStyles = dw.getFontStyles(theFont);
  190. //      (fontStyles[0]==true) ? IBTN_boldBtn.enable() : IBTN_boldBtn.disable();
  191. //      (fontStyles[1]==true) ? IBTN_italicBtn.enable() : IBTN_italicBtn.disable();
  192.     }
  193.     break;
  194.   }
  195.   case "boldBtn":
  196.   {
  197. //    theFont = MENU_FONTS.get();
  198. //    fontStyles = dw.getFontStyles(theFont);
  199. //    if (IBTN_boldBtn.value == true && fontStyles[2]==false)
  200. //      IBTN_italicBtn.disable();
  201. //    else if (fontStyles[1]==true)
  202. //      IBTN_italicBtn.enable();
  203.   }
  204.   case "italicBtn":
  205.   {
  206. //    theFont = MENU_FONTS.get();
  207. //    fontStyles = dw.getFontStyles(theFont);
  208. //    if (IBTN_italicBtn.value == true && fontStyles[2]==false)
  209. //      IBTN_boldBtn.disable();
  210. //    else if (fontStyles[0]==true)
  211. //      IBTN_boldBtn.enable();
  212.   }
  213.   case "sizeField":
  214.   {
  215.     if (!isInteger(TEXT_SIZE.value))
  216.     {
  217.       TEXT_SIZE.value = LAST_SIZE;
  218.     }
  219.     else
  220.       LAST_SIZE = TEXT_SIZE.value
  221. /*
  222.     if (CHECKBOX_SIZE.checked == true)
  223.     {
  224.       replacementStr = "font-size:" + TEXT_SIZE.value + ";";
  225.       pattern = /font-size:\s*\w*\s*;/ ;
  226.       updateStyle(TEXTAREA_TEXT,pattern, replacementStr);
  227.     }
  228. */
  229.     break;
  230.   }
  231.   case "fontCheckBox":
  232.   {
  233.     if (CHECKBOX_FONT.checked == false)
  234.     {
  235.       replacementStr = "font-family:;";
  236.       pattern = /font-family:.*;/;
  237.       updateStyle(TEXTAREA_TEXT,pattern, replacementStr);
  238.     }
  239.     else
  240.       updateUI("fontMenu")
  241.     break;
  242.   }
  243. /*  case "sizeCheckBox":
  244.   {
  245.     if (CHECKBOX_SIZE.checked == false)
  246.     {
  247.       replacementStr = "font-size:;";
  248.       pattern = /font-size:\s*\w*\s*;/ ;
  249.       updateStyle(TEXTAREA_TEXT,pattern, replacementStr);
  250.     }
  251.     else
  252.       updateUI("sizeField");
  253.     break;
  254.   }
  255. */
  256.   case "linkField":
  257.   {
  258.     theLink = TEXT_URL.value;
  259.     if (isSiteRelative(theLink))
  260.       AREA_WARNING.innerHTML = createWarningMsgHTML(MSG_SiteRelLinkWarning, YIELD_PATH);
  261.     else if (theLink.indexOf("file:///")!=-1)
  262.       AREA_WARNING.innerHTML = createWarningMsgHTML(MSG_LocalURLLinkWarning, YIELD_PATH);
  263.     else
  264.       AREA_WARNING.innerHTML = "";
  265.     break;
  266.   }
  267.   case "saveAsField":
  268.   {
  269.     theLink = TEXT_URL.value;
  270.     theSaveLoc = TEXT_SAVE_AS.value;
  271.     if (theSaveLoc.indexOf('/') != -1){
  272.       if (isSiteRelative(theLink)){
  273.         AREA_WARNING.innerHTML = createWarningMsgHTML(MSG_SiteRelLinkWarning, YIELD_PATH);
  274.         TEXT_URL.focus();
  275.         TEXT_URL.select();
  276.       }else if (isDocRel(theLink) && theLink!="#"){
  277.         AREA_WARNING.innerHTML = createWarningMsgHTML(MSG_DocRelLinkWarning, YIELD_PATH);
  278.         TEXT_URL.focus();
  279.         TEXT_URL.select();
  280.       }else if (theLink.indexOf("file:///")!=-1){
  281.         AREA_WARNING.innerHTML = createWarningMsgHTML(MSG_LocalURLLinkWarning, YIELD_PATH);
  282.         TEXT_URL.focus();
  283.         TEXT_URL.select();
  284.       }else{
  285.         AREA_WARNING.innerHTML = "";
  286.       }
  287.     }
  288.     break;
  289.   }
  290.   case "linkButton":
  291.   {
  292.     browseURL = dreamweaver.browseForFileURL("select",LABEL_Select, false, true);
  293.     if (browseURL)
  294.       TEXT_URL.setAttribute("value", browseURL);
  295.     updateUI("linkField");
  296.     break;
  297.   }
  298.   case "saveAsButton":
  299.   {
  300. //    browseURL = dreamweaver.browseForFolderURL(LABEL_SelectFolder);
  301.     browseURL = dreamweaver.browseForFileURL("save",LABEL_Select, false, true);
  302.     browseURL = absoluteToRelativeURL(browseURL, FILE_CURRENT_DOC_PATH,false);
  303.     if (browseURL)
  304.       TEXT_SAVE_AS.setAttribute("value", browseURL);
  305.     break;
  306.   }
  307.   case "textColorP":
  308.   {
  309.     updateColorPicker("colorPicker", COLORP_TEXT, TEXT_TEXT_COLOR);
  310.     if (COLORP_TEXT.value == "")
  311.       TEXT_TEXT_COLOR.setAttribute("value","#000000");
  312.   }
  313.     case "textColorField":
  314.   {
  315.     updateColorPicker("colorField", COLORP_TEXT, TEXT_TEXT_COLOR);
  316. //    replacementStr = "color:" + COLORP_TEXT.value + ";";
  317. //    pattern = /color:\s*\W*\w*\s*;/ ;
  318. //    updateStyle(TEXTAREA_TEXT,pattern, replacementStr);
  319.     if (COLORP_TEXT.value == "")
  320.     {
  321.       TEXT_TEXT_COLOR.setAttribute("value","#000000");
  322.     updateColorPicker("colorField", COLORP_TEXT, TEXT_TEXT_COLOR);
  323.     }
  324.     break;
  325.   }
  326.   case "rolloverColorP":
  327.     updateColorPicker("colorPicker", COLORP_ROLLOVER, TEXT_ROLLOVER_COLOR);
  328.     case "rolloverColorField":
  329.     updateColorPicker("colorField", COLORP_ROLLOVER, TEXT_ROLLOVER_COLOR);
  330.   case "bgColorP":
  331.     updateColorPicker("colorPicker", COLORP_BG, TEXT_BG_COLOR);
  332.     case "bgColorField":
  333.     updateColorPicker("colorField", COLORP_BG, TEXT_BG_COLOR);
  334.   }
  335. }
  336.  
  337. // populates UI when re-editing
  338. function populateUI(paramArray, fileName)
  339. {
  340.   var updateArray = new Array("fontMenu","sizeField","textColorP","rolloverColorP","bgColorP","linkField");
  341.   var theTarget = getValueFromParameters("window",paramArray);
  342.   var theFont = getValueFromParameters("font",paramArray);
  343.   var theLink = getValueFromParameters("url",paramArray);
  344.   var docDOM = dw.getDocumentDOM('document');
  345.   var bgcolor = getSelectedNodeAttr("BGCOLOR",docDOM);
  346.   if (!MENU_FONTS.pickValue(theFont))
  347.   {
  348.     if (!confirm(errMsg(MSG_FontDoesNotExist,theFont)))
  349.     window.close();
  350.   }
  351. //  TEXT_SIZE.value = (getValueFromParameters("size",paramArray)/72);
  352.   TEXT_SIZE.value = (getValueFromParameters("size",paramArray)/20);
  353.   if (getValueFromParameters("bold",paramArray)=="true")
  354.     IBTN_boldBtn.setValue(true);
  355.   if (getValueFromParameters("italic",paramArray)=="true")
  356.     IBTN_italicBtn.setValue(true);
  357.   // ** do alignment
  358.   COLORP_TEXT.value = getValueFromParameters("color",paramArray);
  359.   COLORP_ROLLOVER.value = getValueFromParameters("rollovercolor",paramArray);
  360. //  COLORP_BG.value = getValueFromParameters("bgcolor",paramArray);
  361.   COLORP_BG.value = bgcolor;
  362.   TEXTAREA_TEXT.value = getValueFromParameters("text",paramArray);
  363.   TEXT_URL.value = (theLink == "n/a") ? "" : theLink ;
  364.   TEXT_SAVE_AS.value = fileName;
  365.   if (!MENU_TARGET.pickValue(theTarget))
  366.   {
  367.     if (!confirm(errMsg(MSG_FrameNotFound, theTarget)))
  368.       window.close();
  369.   }
  370.   for (var i=0; i<ALIGNMENT.length; i++)
  371.   {
  372.     align = getValueFromParameters("alignment",paramArray);
  373.     if (align == ALIGNMENT[i])
  374.     IBTN_GROUP_ALIGN.select(ALIGNMENT_BTNS[i]);
  375.   }
  376.   for (var i=0; i< updateArray.length; i++)
  377.     updateUI(updateArray[i]);
  378. }
  379.  
  380. function insertTextHTML()
  381. {
  382.   var data, outputFilePath, canCreateFile=false;
  383.   var success=false, createFileMsg;
  384.   var theLink = TEXT_URL.value;
  385.   var fileName = TEXT_SAVE_AS.value;
  386.   var dom = dw.getDocumentDOM();
  387.   var selectedNode,wasPlaying, temp1, temp2;
  388.  
  389.   if (dom.canStopPlugin())
  390.   {
  391.     dom.stopPlugin();
  392.   wasPlaying = true;
  393.   }
  394.   if (fileName.charAt(0) == " ")
  395.   {
  396.     alert(MSG_FilenameStartWithSpace);
  397.   return false;
  398.   }
  399.   if (TEXTAREA_TEXT.value == "")
  400.   {
  401.     alert(MSG_PleaseEnterText);
  402.   return false;
  403.   }
  404.   if (!fileName)
  405.     alert(MSG_SaveAsFieldIsEmpty);
  406.   else if ((outputFilePath = resolveFilePath(fileName,FILE_CURRENT_DOC_PATH,"swf")) == "")
  407.     alert(errMsg(MSG_InvalidFileName,fileName));
  408.   else
  409.   {
  410.     outputFilePath = truncateFileName(MAX_FILE_LENGTH, outputFilePath);
  411.     if (!checkLink(theLink,outputFilePath,FILE_CURRENT_DOC_PATH))
  412.       return false;
  413.   if (DWfile.exists(outputFilePath) && DWfile.getAttributes(outputFilePath)=="R")
  414.   {
  415.     alert(errMsg(MSG_ReadOnlyFile,outputFilePath));
  416.     return false;
  417.   }
  418.   if (!DWfile.exists(outputFilePath) || (FLAG_OVERWRITE.state == true && FLAG_OVERWRITE.file == addExtention(fileName, "swf")))
  419.     canCreateFile=true;
  420.   else if (confirm(errMsg(MSG_FileAlreadyExists, outputFilePath)))
  421.     canCreateFile=true;
  422.   if (canCreateFile==true)
  423.   {
  424.     if (TEXTAREA_TEXT.value.length > 1024 && !confirm(MSG_ExceedCharacterLimit))
  425.       return false;
  426.     data = generateData();
  427.       MM.setBusyCursor();
  428.       
  429.     resolvedTemplatePath = resolveConfigPath(FILE_TEXT_TEMPLATE_PATH);
  430.     if (navigator.platform == "Win32")
  431.       createFileMsg = SWFFile.createFile(resolvedTemplatePath,data,outputFilePath);
  432.     else{
  433.       temp1 = (hasDoubleByteChar(FILE_TEXT_TEMPLATE_PATH)) ?   resolvedTemplatePath : escape(resolvedTemplatePath);   // escape = high ascii bug on mac
  434.       temp2 = (hasDoubleByteChar(outputFilePath)) ?   outputFilePath : escape(outputFilePath);
  435.       createFileMsg = SWFFile.createFile(temp1,data,temp2);
  436.     }
  437.     MM.clearBusyCursor();
  438.       if (createFileMsg=="noError")
  439.     {
  440.       if (!FLAG_OVERWRITE.reEdit){
  441.  
  442.           var flashTag= createFlashHTML(outputFilePath,isDocRel(theLink));
  443.           dom.insertHTML(flashTag, FLAG_OVERWRITE.state);
  444.       }
  445.  
  446.     else
  447.     {
  448.       selectedNode = dom.getSelectedNode();
  449.       editTextAttribute(outputFilePath,selectedNode);
  450. // **** next line is a hack that needs to be removed when setSelectedNode bug fixed
  451.       selectedNode.outerHTML = selectedNode.outerHTML;
  452. //      dom.setSelectedNode(selectedNode);
  453.     }
  454.     dom.notifyFlashObjectChanged();
  455.     success = true;
  456.     }
  457.     else
  458.     {
  459.       alert(generatorErrorMsg(createFileMsg,fileName));
  460.     }
  461.   }
  462.   }
  463.   if (wasPlaying)
  464.     dom.playPlugin();
  465.   return success;
  466. }
  467.  
  468. function generateData()
  469. {
  470.   var retVal = new Array();
  471.   var theLink = TEXT_URL.value;
  472.   var theTarget = MENU_TARGET.get();
  473.   var rolloverColor = TEXT_ROLLOVER_COLOR.value;
  474.   var theText = TEXTAREA_TEXT.value;
  475.   retVal[0] = TYPE_PARAMETER;
  476.   retVal[1] = TYPE_STR;
  477.   retVal[2] = "text";
  478.   if (theText.length > 1024)
  479.     retVal[3] = theText.substr(0,1024);
  480.   else
  481.     retVal[3] = theText;
  482.   retVal[4] = "color";
  483.   retVal[5] = TEXT_TEXT_COLOR.value;
  484.   retVal[6] = "font";
  485.   retVal[7] = MENU_FONTS.get();
  486.   retVal[8] = "size";
  487.   retVal[9] = convertPtToTwip(TEXT_SIZE.value);
  488.   retVal[10] = "url";
  489.   retVal[11] = (theLink) ? theLink : "n/a";
  490.   retVal[12] = "window";
  491.   retVal[13] = (theTarget) ? theTarget : "_self";
  492.   retVal[14] = "rollovercolor";
  493.   retVal[15] = (rolloverColor) ? rolloverColor : "none";
  494.   retVal[16] = "shrinkwrap";
  495.   retVal[17] = true;
  496.   retVal[18] = "alignment";
  497.   retVal[19] = ALIGN_MAP[IBTN_GROUP_ALIGN.getSelectedButtonName()];
  498.   retVal[20] = "bold";
  499.   retVal[21] = IBTN_boldBtn.value;
  500.   retVal[22] = "italic";
  501.   retVal[23] = IBTN_italicBtn.value;
  502. //  retVal[24] = "bgcolor";
  503. //  retVal[25] = TEXT_BG_COLOR.value;
  504.   return retVal;
  505. }
  506.  
  507. function createFlashHTML(swfURL, docRelLink)
  508. {
  509. //no longer using docRelLink argument (no need to add base attribute)
  510.   var retVal= new Array();
  511.   var sizeArray = SWFFile.getNaturalSize(swfURL);
  512.   var width, height;
  513.   var bgcolor = document.bgColorField.value;
  514.   var docRelURL = absoluteToRelativeURL(swfURL, FILE_CURRENT_DOC_PATH,true);
  515.   if (sizeArray)
  516.   {
  517.     width = sizeArray[0];
  518.     height = sizeArray[1];
  519.   }
  520.   else
  521.   {
  522.     width = 32;
  523.   height = 32;
  524.   }
  525.   retVal.push('<OBJECT CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"');
  526.   retVal.push(' CODEBASE="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=5,0,0,0"');
  527.   retVal.push(' WIDTH="' + width + '" HEIGHT="'+ height + '">\n');
  528.   retVal.push('<PARAM NAME="movie" VALUE="' + docRelURL + '"> <PARAM NAME="quality" VALUE="high">\n' );
  529.   if (bgcolor)
  530.     retVal.push('<PARAM NAME="bgcolor" VALUE="' + bgcolor + '">\n');
  531. //  retVal.push('<PARAM NAME="scale" VALUE="exactfit">\n');
  532.   retVal.push('<EMBED SRC="' + docRelURL +'"');
  533.   retVal.push(   ' QUALITY="high" PLUGINSPAGE="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash" ' +
  534.          'TYPE="application/x-shockwave-flash" ');
  535.   retVal.push('WIDTH="' + width + '" HEIGHT="'+ height +'" ');
  536.   if (bgcolor)
  537.     retVal.push('BGCOLOR="' + bgcolor + '"');
  538.   retVal.push('>'+'</EMBED>\n' + '</OBJECT>');
  539.   return  retVal.join("");
  540. }
  541.  
  542. function updateFlashHTML()
  543. {
  544.  
  545. }
  546.  
  547. function editTextAttribute(outputFilePath,selectedNode)
  548. {
  549.   var sizeArray = SWFFile.getNaturalSize(outputFilePath);
  550.   var bgcolor = document.bgColorField.value;
  551.   var width = Math.round(sizeArray[0]*WIDTH_PERCENT);
  552.   var height = Math.round(sizeArray[1]*HEIGHT_PERCENT) ;
  553.   var tagsToAdd = new Array();
  554. //  alert (width + " " + height);
  555.   var theLink = TEXT_URL.value;
  556.   var docRelURL = absoluteToRelativeURL(outputFilePath, FILE_CURRENT_DOC_PATH,true);
  557.   if (outputFilePath != REEDIT_SWF_PATH)
  558.   {
  559.     setFlashAttribute("PARAM","MOVIE",docRelURL,selectedNode,tagsToAdd);
  560.     setFlashAttribute("EMBED","SRC",docRelURL,selectedNode);
  561.   }
  562.   setFlashAttribute("OBJECT","WIDTH",width,selectedNode);
  563.   setFlashAttribute("OBJECT","HEIGHT",height,selectedNode);
  564.   setFlashAttribute("EMBED","WIDTH",width,selectedNode);
  565.   setFlashAttribute("EMBED","HEIGHT",height,selectedNode);
  566.   setFlashAttribute("EMBED","BGCOLOR",bgcolor,selectedNode);
  567.   setFlashAttribute("PARAM","BGCOLOR",bgcolor,selectedNode,tagsToAdd);
  568.   if (tagsToAdd.length>0)
  569.     selectedNode.innerHTML = tagsToAdd.join("") + selectedNode.innerHTML;
  570. }
  571.  
  572. ///////////////////////////////////////////////////////////////////
  573. //  addAccessibility: called when Accessibility Option is turned on
  574. //  
  575. // receives: current document object
  576. // returns : nothing
  577. //
  578. //  Flash Options.htm dialog collects the attributes.
  579.  
  580. function addAccessibility(objDom) {
  581.    var cmdFile = dreamweaver.getConfigurationPath() + "/Commands/Flash Options.htm";
  582.    var cmdDOM = dreamweaver.getDocumentDOM(cmdFile);
  583.    
  584.    cmdDOM.parentWindow.setFormItem(objDom);
  585.    dreamweaver.popupCommand("Flash Options.htm");
  586.  
  587. }
  588.